package chapter07


import scala.collection.mutable

object Demo09_MutableMap {
  def main(args: Array[String]): Unit = {
    //1、创建map
    val map1: mutable.Map[String,Int] = mutable.Map[String,Int]("a" -> 13,"b" -> 25 , "hello" -> 3)
    println(map1)
    println(map1.getClass)
    println("==================")

    //添加元素
    map1.put("c" , 5)
    map1.put("d" , 3)
    println(map1)

    map1 += (("e" , 3))  //把一个String类型数据和一个Int类型数据打包变成一个组合，作为一个数据传入
    println(map1)
    println("=====================")

    //删除元素
    println(map1("e"))
    map1.remove("e")
    println(map1.getOrElse("e", 0))

    map1 -= "d"
    println(map1.getOrElse("d" , 0))
    println("修改=====================")

    //修改元素
    map1.update("y" , 99)
    map1.update("hello" , 10)
    println(map1)

    map1 += (("e" , 8))
    println(map1)
    println("=====================")

    //5、合并两个Map  = 号后面进行覆盖前面的
    val map11: Map[String,Int] = Map("aaa" -> 13,"b" -> 8888888 , "hello" -> 3)
    map1 ++= map11
    println(map1)
    println(map11)

    println("------------------")
    // map11 ++= map1 //error 因为map11是不可变集合所以不可以进行覆盖
    val map3 = map1 ++ map11  //把参数传进来的第二个参数添加到前面的集合里面
    val map4 = map11 ++ map1
    println(map1)
    println(map11)
    println(map3)
    println(map4)
  }
}
